To improve spectral efficiency, a MIMO technique has been widely adopted by various wireless communication standards, such as IEEE 802.16, 802.11n and evolved universal terrestrial radio access (E-UTRA). In MIMO systems, multiple data streams are transmitted over multiple antennas in the same frequency-time block. However, an optimum MIMO receiver based on a maximum likelihood (ML) algorithm is extremely complex. Therefore, near optimum MIMO receivers having lower complexity, (such as sphere decoding and a QR decomposition based maximum likelihood detector (QRD-MLD)), have been developed. However, the complexity of these near optimum receivers is still high, especially for hand held devices.
More practical MIMO receivers employ low complexity linear receivers, (such as a zero-forcing (ZF) or minimum mean squared error (MMSE) receiver), at the cost of reduced performance. With channel state information known to the receiver, a ZF receiver may completely decouple multiple data streams without causing any cross interference. However, the ZF receiver amplifies ambient noise and, therefore, the overall performance is degraded. An MMSE receiver, on the other hand, takes both cross interference and noise into account, resulting in better performance. However, the MMSE receiver itself would result in biased estimation of a signal, and therefore, causes performance degradation, especially for higher order modulation, (such as 16 quadrature amplitude modulation (16 QAM), 64 QAM, or the like), where data is both phase and amplitude modulated.
FIG. 1 shows a conventional MMSE-based MIMO receiver 100 for a single carrier system. The receiver 100 comprises a plurality of antennas 102a-102n, a plurality of radio frequency (RF) units 104a-104n, an MMSE MIMO decoder 106, a plurality of demappers 108a-108n, and a plurality of scaling units 110a-110n. Signals 103a-103n are received by the antennas 102a-102n. Each signal 103a-103n is down-converted and digitized by the corresponding RF unit 104a-104n. The digitized signals 105a-105n are fed to the MMSE MIMO decoder 106 where multiple data streams 107a-107n are decoupled. Each decoupled data stream 107a-107n is fed to the corresponding demappers 108a-108n, where symbol representation of data is converted into soft bits 109a-109n. The MMSE MIMO decoder 106 also calculates an effective signal-to-noise ratio (SNR) 111a-111n on the MMSE output of the MMSE MIMO decoder 106 and sends the effective SNR 111a-111n to the respective scaling units 110a-110n. The soft bits 109a-109n are weighted by the corresponding scaling units 110a-110n according to the effective SNR 111a-111n. The weighted soft bits 113a-113n are then sent to decoders (not shown) for decoding.
A received signal may be expressed as follows:Y=√{square root over (ES)}HX+N;  Equation (1)where X is a column vector with m elements, (xm being data transmitted from the m-th antenna), Y is a column vector with n elements, (yn being data received by the n-th antenna), H is a channel matrix with its element hnm representing channel coefficients between the m-th transmit antenna and the n-th receive antenna, N is a noise term with variance σ2, and ES is transmit power per symbol.
FIG. 2 is a detailed block diagram of the MMSE MIMO decoder 106 of FIG. 1. The MMSE MIMO decoder 106 includes an R matrix calculation unit 204, an SNR calculation unit 206, and a filtering unit 208. The R matrix calculation unit 204 receives signal power and noise power values 201 and a channel matrix H 202 and calculates a matrix R 205 as follows:
                              R          =                                                    (                                                                            H                      H                                        ⁢                    H                                    +                                      I                    SNR                                                  )                                            -                1                                      ⁢                          H              H                                      ;                            Equation        ⁢                                  ⁢                  (          2          )                    where superscript H stands for matrix conjugate transpose. The signal power and noise power values 201 and the channel matrix 202 are generated based on the digitized signals 105a-105n, and specific blocks for generating the signal power and noise power values 201 and the channel matrix 202 are not shown in FIG. 2 for simplicity.
The filtering unit 208 of the MMSE MIMO decoder 106 receives a matrix Y 203 corresponding to the digitized signals 105a-105n and the matrix R 205 and performs symbol estimation as follows:
                                          X            ^                    =                                                                      (                                                                                    H                        H                                            ⁢                      H                                        +                                          I                      SNR                                                        )                                                  -                  1                                            ⁢                              H                H                            ⁢              Y                        =            RY                          ;                            Equation        ⁢                                  ⁢                  (          3          )                    where
  SNR  =                    E        s                    σ        2              .  The estimated symbols 107a-107n are then sent to the corresponding demappers 108a-108n of FIG. 1.
The SNR calculation unit 206 calculates an effective post-MMSE SNR 111a-111n and outputs them to the corresponding scaling units 110a-110n of FIG. 1 for post-demapping scaling. The effective post-MMSE SNR for the n-th data stream is calculated as follows:ρn=SNR/(RRH)nn;  Equation (4)where the subscript nn stands for n-th diagonal element of a matrix. The scaling units 110a-110n of FIG. 1 then multiplies the soft bits 109a-109n with a corresponding post-MMSE SNR obtained by Equation (3).